package br.com.pesca.dao;

import br.com.pesca.entity.Peixe;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Restrictions;

public class PeixeDAO extends BaseDAO<Peixe> {

    /**
     * Busca os peixes do banco de dados a medida em que é digitado a sua
     * espécie nos campos de autocompletar.
     *
     * @param especie
     * @return
     */
    public List<Peixe> buscarPeixePeloNome(String especie) {
        Session session = getEntityManager().unwrap(Session.class);
        Criteria criteria = session.createCriteria(Peixe.class);

        if (StringUtils.isNotBlank(especie)) {
            criteria.add(Restrictions.ilike("especie", especie.toUpperCase(), MatchMode.START));
        }
        return criteria.list();
    }
}
